package com.ruoyi.shopping.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商城订单对象 jy_mall_order
 *
 * @author ruoyi
 * @date 2022-07-19
 */
@ApiModel
public class MallOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    //合并的订单号
    private String combineOrder;
    //订单状态
    private String orderMeshState;
//    实际支付
    private BigDecimal orderMeshpayPrice;
//    商城合并表下单时间
    private Date placeTime;

    public String getOrderMeshState() {
        return orderMeshState;
    }

    public void setOrderMeshState(String orderMeshState) {
        this.orderMeshState = orderMeshState;
    }

    public BigDecimal getOrderMeshpayPrice() {
        return orderMeshpayPrice;
    }

    public void setOrderMeshpayPrice(BigDecimal orderMeshpayPrice) {
        this.orderMeshpayPrice = orderMeshpayPrice;
    }

    public Date getPlaceTime() {
        return placeTime;
    }

    public void setPlaceTime(Date placeTime) {
        this.placeTime = placeTime;
    }

    public String getCombineOrder() {
        return combineOrder;
    }

    public void setCombineOrder(String combineOrder) {
        this.combineOrder = combineOrder;
    }

    public String getMergeInformation() {
        return mergeInformation;
    }

    public void setMergeInformation(String mergeInformation) {
        this.mergeInformation = mergeInformation;
    }

    //合并信息
    private String  mergeInformation;

    /** 主键 */
    @ApiModelProperty(value = "${comment}")
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty(value = "订单号")
    private String orderId;

    /** 合并订单号 */
    @Excel(name = "合并订单号")
    @ApiModelProperty(value = "合并订单号")
    private Long mergeOrderId;

    /** 商品id */
    @Excel(name = "商品id")
    @ApiModelProperty(value = "商品id")
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty(value = "商品名称")
    private String productName;

    /** 发货类型 */
    @Excel(name = "发货类型")
    @ApiModelProperty(value = "发货类型")
    private String deliverytype;

    /** 平台备注 */
    @Excel(name = "平台备注")
    @ApiModelProperty(value = "平台备注")
    private String platformRemark;

    /** 快递公司 */
    @Excel(name = "快递公司")
    @ApiModelProperty(value = "快递公司")
    private String courierCompany;

    /** 商品图片 */
    @Excel(name = "商品图片")
    @ApiModelProperty(value = "商品图片")
    private String productImage;

    /** 快照id */
    @Excel(name = "快照id")
    @ApiModelProperty(value = "快照id")
    private Long productBackId;

    /** 商品快照 */
    @Excel(name = "商品快照")
    @ApiModelProperty(value = "商品快照")
    private Long specsBackId;

    /** 优惠券id */
    @Excel(name = "优惠券id")
    @ApiModelProperty(value = "优惠券id")
    private Long couponId;

    /** 下单人id */
    @Excel(name = "下单人id")
    @ApiModelProperty(value = "下单人id")
    private Long memberId;

    /** 实际支付金额 */
    @Excel(name = "实际支付金额")
    @ApiModelProperty(value = "实际支付金额")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal payPrice;

    private String payOrderNo;


    /** 抵扣金额 */
    @Excel(name = "抵扣金额")
    @ApiModelProperty(value = "抵扣金额")
    private BigDecimal deductionPrice ;

    /** 订单状态 */
    @Excel(name = "订单状态")
    @ApiModelProperty(value = "订单状态")
    private String orderState;

    /** 退款状态 */
    @Excel(name = "退款状态")
    @ApiModelProperty(value = "退款状态")
    private String refundStatus;

    /** 退款订单号 */
    @Excel(name = "退款订单号")
    @ApiModelProperty(value = "退款订单号")
    private String refundPayOrderNo;

    /** 退款支付状态 */
    @Excel(name = "退款支付状态")
    @ApiModelProperty(value = "退款支付状态")
    private String refundPayStatus;

    /** 退款支付失败原因 */
    @Excel(name = "退款支付失败原因")
    @ApiModelProperty(value = "退款支付失败原因")
    private String refundPayErrMsg;

    /** 退款原因 */
    @Excel(name = "退款原因")
    @ApiModelProperty(value = "退款原因")
    private String refundReason;

    /** 退款申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "退款申请时间")
    private Date refundTime;

    /** 拒绝退款原因 */
    @Excel(name = "拒绝退款原因")
    @ApiModelProperty(value = "拒绝退款原因")
    private String refundRefuseReaso;

    /** 商家金额 */
    @Excel(name = "商家金额")
    @ApiModelProperty(value = "商家金额")
    private BigDecimal storeMoney;

    /** 退款金额 */
    @Excel(name = "退款金额")
    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundMoney;

    /** 平台金额 */
    @Excel(name = "平台金额")
    @ApiModelProperty(value = "平台金额")
    private BigDecimal platformMoney;

    /** 收货人姓名 */
    @Excel(name = "收货人姓名")
    @ApiModelProperty(value = "收货人姓名")
    private String consigneeName;

    /** 收货人手机号 */
    @Excel(name = "收货人手机号")
    @ApiModelProperty(value = "收货人手机号")
    private String consigneePhone;

    /** 收货人地址 */
    @Excel(name = "收货人地址")
    @ApiModelProperty(value = "收货人地址")
    private String consigneeAddress;

    /** 快递单号 */
    @Excel(name = "快递单号")
    @ApiModelProperty(value = "快递单号")
    private String courierNumber;

    /** 规格id */
    @Excel(name = "规格id")
    @ApiModelProperty(value = "规格id")
    private Long specificationId;

    /** 规格名称 */
    @Excel(name = "规格名称")
    @ApiModelProperty(value = "规格名称")
    private String specificationName;

    /** 门店id */
    @Excel(name = "门店id")
    @ApiModelProperty(value = "门店id")
    private Long storeId;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty(value = "数量")
    private Integer num;

    /** 配送方式 */
    @Excel(name = "配送方式")
    @ApiModelProperty(value = "配送方式")
    private String distributionDmode;

    /** 是否已评价 */
    @Excel(name = "是否已评价")
    @ApiModelProperty(value = "是否已评价")
    private String commentStatus;

    private Date confirmTime;
    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;
    //是否售后订单状态
    private String afterSalesState;

    public String getAfterSalesState() {
        return afterSalesState;
    }

    public void setAfterSalesState(String afterSalesState) {
        this.afterSalesState = afterSalesState;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public Date getConfirmTime() {
        return confirmTime;
    }

    public void setConfirmTime(Date confirmTime) {
        this.confirmTime = confirmTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId()
    {
        return orderId;
    }
    public void setMergeOrderId(Long mergeOrderId)
    {
        this.mergeOrderId = mergeOrderId;
    }

    public Long getMergeOrderId()
    {
        return mergeOrderId;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setDeliverytype(String deliverytype)
    {
        this.deliverytype = deliverytype;
    }

    public String getDeliverytype()
    {
        return deliverytype;
    }
    public void setPlatformRemark(String platformRemark)
    {
        this.platformRemark = platformRemark;
    }

    public String getPlatformRemark()
    {
        return platformRemark;
    }
    public void setCourierCompany(String courierCompany)
    {
        this.courierCompany = courierCompany;
    }

    public String getCourierCompany()
    {
        return courierCompany;
    }
    public void setProductImage(String productImage)
    {
        this.productImage = productImage;
    }

    public String getProductImage()
    {
        return productImage;
    }
    public void setProductBackId(Long productBackId)
    {
        this.productBackId = productBackId;
    }

    public Long getProductBackId()
    {
        return productBackId;
    }
    public void setSpecsBackId(Long specsBackId)
    {
        this.specsBackId = specsBackId;
    }

    public Long getSpecsBackId()
    {
        return specsBackId;
    }
    public void setCouponId(Long couponId)
    {
        this.couponId = couponId;
    }

    public Long getCouponId()
    {
        return couponId;
    }
    public void setMemberId(Long memberId)
    {
        this.memberId = memberId;
    }

    public Long getMemberId()
    {
        return memberId;
    }
    public void setPayPrice(BigDecimal payPrice)
    {
        this.payPrice = payPrice;
    }

    public BigDecimal getPayPrice()
    {
        return payPrice;
    }
    public void setDeductionPrice(BigDecimal deductionPrice)
    {
        this.deductionPrice = deductionPrice;
    }

    public BigDecimal getDeductionPrice()
    {
        return deductionPrice;
    }
    public void setOrderState(String orderState)
    {
        this.orderState = orderState;
    }

    public String getOrderState()
    {
        return orderState;
    }
    public void setRefundStatus(String refundStatus)
    {
        this.refundStatus = refundStatus;
    }

    public String getRefundStatus()
    {
        return refundStatus;
    }
    public void setRefundPayOrderNo(String refundPayOrderNo)
    {
        this.refundPayOrderNo = refundPayOrderNo;
    }

    public String getRefundPayOrderNo()
    {
        return refundPayOrderNo;
    }
    public void setRefundPayStatus(String refundPayStatus)
    {
        this.refundPayStatus = refundPayStatus;
    }

    public String getRefundPayStatus()
    {
        return refundPayStatus;
    }
    public void setRefundPayErrMsg(String refundPayErrMsg)
    {
        this.refundPayErrMsg = refundPayErrMsg;
    }

    public String getRefundPayErrMsg()
    {
        return refundPayErrMsg;
    }
    public void setRefundReason(String refundReason)
    {
        this.refundReason = refundReason;
    }

    public String getRefundReason()
    {
        return refundReason;
    }
    public void setRefundTime(Date refundTime)
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime()
    {
        return refundTime;
    }
    public void setRefundRefuseReaso(String refundRefuseReaso)
    {
        this.refundRefuseReaso = refundRefuseReaso;
    }

    public String getRefundRefuseReaso()
    {
        return refundRefuseReaso;
    }
    public void setStoreMoney(BigDecimal storeMoney)
    {
        this.storeMoney = storeMoney;
    }

    public BigDecimal getStoreMoney()
    {
        return storeMoney;
    }
    public void setRefundMoney(BigDecimal refundMoney)
    {
        this.refundMoney = refundMoney;
    }

    public BigDecimal getRefundMoney()
    {
        return refundMoney;
    }
    public void setPlatformMoney(BigDecimal platformMoney)
    {
        this.platformMoney = platformMoney;
    }

    public BigDecimal getPlatformMoney()
    {
        return platformMoney;
    }
    public void setConsigneeName(String consigneeName)
    {
        this.consigneeName = consigneeName;
    }

    public String getConsigneeName()
    {
        return consigneeName;
    }
    public void setConsigneePhone(String consigneePhone)
    {
        this.consigneePhone = consigneePhone;
    }

    public String getConsigneePhone()
    {
        return consigneePhone;
    }
    public void setConsigneeAddress(String consigneeAddress)
    {
        this.consigneeAddress = consigneeAddress;
    }

    public String getConsigneeAddress()
    {
        return consigneeAddress;
    }
    public void setCourierNumber(String courierNumber)
    {
        this.courierNumber = courierNumber;
    }

    public String getCourierNumber()
    {
        return courierNumber;
    }
    public void setSpecificationId(Long specificationId)
    {
        this.specificationId = specificationId;
    }

    public Long getSpecificationId()
    {
        return specificationId;
    }
    public void setSpecificationName(String specificationName)
    {
        this.specificationName = specificationName;
    }

    public String getSpecificationName()
    {
        return specificationName;
    }
    public void setStoreId(Long storeId)
    {
        this.storeId = storeId;
    }

    public Long getStoreId()
    {
        return storeId;
    }
    public void setDistributionDmode(String distributionDmode)
    {
        this.distributionDmode = distributionDmode;
    }

    public String getDistributionDmode()
    {
        return distributionDmode;
    }
    public void setCommentStatus(String commentStatus)
    {
        this.commentStatus = commentStatus;
    }

    public String getCommentStatus()
    {
        return commentStatus;
    }

    public String getPayOrderNo() {
        return payOrderNo;
    }

    public void setPayOrderNo(String payOrderNo) {
        this.payOrderNo = payOrderNo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("mergeOrderId", getMergeOrderId())
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("deliverytype", getDeliverytype())
            .append("platformRemark", getPlatformRemark())
            .append("courierCompany", getCourierCompany())
            .append("productImage", getProductImage())
            .append("productBackId", getProductBackId())
            .append("specsBackId", getSpecsBackId())
            .append("couponId", getCouponId())
            .append("memberId", getMemberId())
            .append("payPrice", getPayPrice())
            .append("deductionPrice", getDeductionPrice())
            .append("orderState", getOrderState())
            .append("refundStatus", getRefundStatus())
            .append("refundPayOrderNo", getRefundPayOrderNo())
            .append("refundPayStatus", getRefundPayStatus())
            .append("refundPayErrMsg", getRefundPayErrMsg())
            .append("refundReason", getRefundReason())
            .append("refundTime", getRefundTime())
            .append("refundRefuseReaso", getRefundRefuseReaso())
            .append("storeMoney", getStoreMoney())
            .append("refundMoney", getRefundMoney())
            .append("platformMoney", getPlatformMoney())
            .append("consigneeName", getConsigneeName())
            .append("consigneePhone", getConsigneePhone())
            .append("consigneeAddress", getConsigneeAddress())
            .append("courierNumber", getCourierNumber())
            .append("specificationId", getSpecificationId())
            .append("specificationName", getSpecificationName())
            .append("storeId", getStoreId())
            .append("number", getNum())
            .append("distributionDmode", getDistributionDmode())
            .append("commentStatus", getCommentStatus())
            .append("delState", getDelState())
            .append("delUser", getDelUser())
            .append("delType", getDelType())
            .append("delTime", getDelTime())
            .append("createBy", getCreateBy())
            .append("createType", getCreateType())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateType", getUpdateType())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
